package com.yaoyong.yy_demo.module.poi;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

/**
 * 制作excel表格demo
 * @author 姚勇
 */
public class POI_Demo {
	public static void main(String[] args) throws FileNotFoundException {
		export(new FileOutputStream(new File("D:/log/1.xlxs")));
	}

	/**
	 * 导出一张excle表格
	 */
	public static void export(OutputStream out) {
		HSSFWorkbook book = new HSSFWorkbook();// 创建工作簿

		HSSFSheet sheet = book.createSheet();// 创建工作表

		// 设置列宽
		sheet.setColumnWidth(0, 4000);
		sheet.setColumnWidth(1, 8000);
		sheet.setColumnWidth(2, 2000);
		sheet.setColumnWidth(3, 3000);
		sheet.setColumnWidth(4, 8000);

		// 设置标题行
		HSSFRow titleRow = sheet.createRow(0);
		titleRow.createCell(0).setCellValue("名称");
		titleRow.createCell(1).setCellValue("地址");
		titleRow.createCell(2).setCellValue("联系人");
		titleRow.createCell(3).setCellValue("电话");
		titleRow.createCell(4).setCellValue("Email");

		/****************************************************************/
		/*
		 * //1.设置框线 HSSFCellStyle cellStyle_context = book.createCellStyle();
		 * cellStyle_context.setBorderBottom(HSSFCellStyle.BORDER_THIN);//底线
		 * cellStyle_context.setBorderTop(HSSFCellStyle.BORDER_THIN);//顶线
		 * cellStyle_context.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左侧线
		 * cellStyle_context.setBorderRight(HSSFCellStyle.BORDER_THIN);//右侧线
		 * 
		 * //2.合并单元格(起始行,结束行,起始列,结束列) sheet.addMergedRegion(new
		 * CellRangeAddress(0, 0, 0, 3)); //3.设置行高
		 * sheet.getRow(0).setHeight((short) 500); //4.设置表格(文字)的对齐方式和字体
		 * cellStyle_context.setAlignment(HSSFCellStyle.ALIGN_CENTER);//设置水平居中
		 * cellStyle_context
		 * .setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//设置垂直居中
		 * 
		 * HSSFFont font = book.createFont();//字体
		 * font.setFontName("仿宋");//设置字体名字 font.setFontHeightInPoints((short)
		 * 12);//设置字体大小 cellStyle_context.setFont(font);//把字体设置到样式中
		 * 
		 * 
		 * //标题样式 HSSFCellStyle cellStyle_title = book.createCellStyle();
		 * cellStyle_title.setAlignment(HSSFCellStyle.ALIGN_CENTER);//设置水平居中
		 * cellStyle_title
		 * .setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//设置垂直居中
		 * 
		 * HSSFFont titleFont = book.createFont();//设置标题字体
		 * titleFont.setFontName("黑体");//设置字体名字 titleFont.setBold(true);//加粗
		 * titleFont.setFontHeightInPoints((short) 18);//设置字体大小
		 * cellStyle_title.setFont(titleFont);//把字体设置到样式中
		 * sheet.getRow(0).getCell(0).setCellStyle(cellStyle_title); //5.设置日期格式
		 * SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		 * sheet.getRow(1).getCell(0).setCellValue(sdf.format(new Date()));
		 */
		/*****************************************************************/

		HSSFRow row = sheet.createRow(1);
		row.createCell(0).setCellValue(2);

		try {
			book.write(out);// 输出到输出流
			book.close();// 关闭工作簿
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
